DaemonSet 通过 label 确保某些(或全部) Node 节点运行某一个单例 Pod 服务. 随着 Node 节点加入集群创建 Pod 服务, 随着从集群移除 Node 节点回收 Pod 服务. 删除 DaemonSet 会同时删除所有基于它的 Pod 服务.
典型用法: 节点日志收集(logstash, fluentd), 域名服务, 数据存储服务(glusterd, ceph), 监控程序(Node Exporter)等.
1 | apiVersion: app/v1 |
其中指定了命名空间(Namespace), 如果不存在需要预先创建:
1 | kubectl create namespace monitoring |
之后执行应用
1 | kubectl apply -f DAEMON_SET_NAME.yaml |
查看执行结果
1 | kubectl get pods --namespace=monitoring -o wide |
至此, 定义的 DaemonSet 就在指定的 label 机器上(或全部机器)上创建好了 Pod 服务.